//
// Created by MikeChen on 2025/4/3.
//


#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main() {
    /*
     * 字符数组的定义和初始化：
     * */
    //1.定义一个字符数组，并以单个字符初始化赋值
    char c[6]={'a','b','c','d'};
    //2.定义一个字符数组，以字符串初始化赋值
    char s1[7]="abcdefg";//无法以\0结束，超过范围溢出了
    char s2[7]="abcdef";//无法以\0结束，超过范围溢出了

    printf("C:%s\n",c);
    printf("S1:%s\n", s1);
    printf("S2:%s\n", s2);

    //引用字符数组中的元素
    /*char s3[10];
    s3[0] = 'a';
    s3[1] = 'b';
    printf("%c\n", s3[0]);
    printf("%c\n", s3[1]);*/

    //输入输出
    //%c与%s
    /*int s4[10];
    for (int i = 0; i < 10; ++i) {
        scanf("%c",&s4[i]);//输入时回车也被视为了一个字符
    }
    for (int i = 0; i < 10; ++i) {
        printf("%c",s4[i]);
    }*/

    int s5[10];//数组名s5就是首地址
    printf("%#X\n",&s5[0]);
    printf("%#X\n",s5);
//    scanf("%s",s5);


    //字符串的二维数组--可用于存储名字
    char s6[3][10]={"tom","tony","小明"};
    for (int i = 0; i < 3; ++i) {
        printf("Name:%s\n",s6[i]);
    }
    printf("the end");
//    system("read -rsp $'Press enter to continue...\\n'");
    return EXIT_SUCCESS;
}